home *** CD-ROM | disk | FTP | other *** search
Makefile | 1992-10-28 | 8.9 KB | 380 lines |
- #
- # $Header: /sprite/src/kernel/sprite/RCS/Makefile,v 1.51 92/06/04 13:29:09 jhh Exp Locker: mgbaker $ SPRITE (Berkeley)
- #
- # No mkmf
- #
- LD = /sprite/cmds.${MACHINE}/ld
-
- # don't use TM, because that is set explicitly by the environment in some cases
- # and then we can't override it. But set it by default to the current machine
- # type.
-
- TM ?= $(MACHINE)
-
- #if make(sun3) || make(profile3)
- RTM = sun3
- MTFLAGS = -msun3
- #endif
- #ifmake ds3100
- RTM = ds3100
- MTFLAGS =
- #endif
- #ifmake ds5000
- RTM = ds5000
- MTFLAGS =
- #endif
- #ifmake sun4
- RTM = sun4
- MTFLAGS = -msun4
- #endif
- #ifmake sun4c
- RTM = sun4c
- MTFLAGS = -msun4
- #endif
-
- #if !empty(TM)
- RTM ?= $(TM)
- #else
- RTM ?= $(MACHINE)
- #endif
-
- MODULE = sprite
- SPRITEDIR = /sprite/src/kernel
- USERH= /sprite/lib/include
- H = ${SPRITEDIR}/Include
- INSTALLED = {SPRITEDIR}/Installed/${MODULE}
- LIB = ${SPRITEDIR}/${RTM}.md
- PROFD = ${SPRITEDIR}/Profiled/${RTM}.md
- ODIR = ${RTM}.md
- IFLAGS= -I. -I${H} -I${USERH} -I${USERH}/${RTM}.md -I${H}/${RTM}.md
- #PROFILE = -p -DPROFILE
- PROFILE =
- CFLAGS = ${MTFLAGS} -g -DKERNEL ${PROFILE} ${IFLAGS}
- LINTFLAGS = -I. -I${H}
- LINTLIBS = ${LINT}/*.ln
- DISTDIR ?= /dist/sprite/src/kernel/sprite
-
- KERNELNAME ?= new
-
- # symbol looked for by 'make nm'
- NM = mcount
-
- UPDATE = /sprite/cmds.${MACHINE}/update
- TEST = /sprite/cmds.${MACHINE}/test
- MKVERSION = /sprite/cmds.${MACHINE}/mkversion
- RELEASE = 1
- NEWVERSION ?= TRUE
-
- GINGER = ginger.Berkeley.EDU
- ENVY = envy.Berkeley.EDU
-
- #
- # Unprofiled object files
- #
-
- #
- # For tracing undefined symbols
- TRACE =
-
- #
- # Uninstalled object files
- #
- TOP = ${SPRITEDIR}
-
- MACH = ${TOP}/mach/${ODIR}
- DBG = ${TOP}/dbg/${ODIR}
- DEV = ${TOP}/dev/${ODIR}
- FS = ${TOP}/fs/${ODIR}
- FSCACHE = ${TOP}/fscache/${ODIR}
- FSCONSIST = ${TOP}/fsconsist/${ODIR}
- FSDM = ${TOP}/fsdm/${ODIR}
- FSIO = ${TOP}/fsio/${ODIR}
- FSLCL = ${TOP}/fslcl/${ODIR}
- FSPDEV = ${TOP}/fspdev/${ODIR}
- FSPREFIX = ${TOP}/fsprefix/${ODIR}
- FSRECOV = ${TOP}/fsrecov/${ODIR}
- FSRMT = ${TOP}/fsrmt/${ODIR}
- FSUTIL = ${TOP}/fsutil/${ODIR}
- HOOK = mainHook.o
- LFS = ${TOP}/lfs/${ODIR}
- LIBC = ${TOP}/libc/${ODIR}
- MAIN = ${TOP}/main/${ODIR}
- NET = ${TOP}/net/${ODIR}
- OFS = ${TOP}/ofs/${ODIR}
- PROC = ${TOP}/proc/${ODIR}
- PROF = ${TOP}/prof/${ODIR}
- RAID = ${TOP}/raid/${ODIR}
- RAIDNULL = ${TOP}/raid.null/${ODIR}
- RECOV = ${TOP}/recov/${ODIR}
- RPC = ${TOP}/rpc/${ODIR}
- SCHED = ${TOP}/sched/${ODIR}
- SIG = ${TOP}/sig/${ODIR}
- SYNC = ${TOP}/sync/${ODIR}
- SYS = ${TOP}/sys/${ODIR}
- TIMER = ${TOP}/timer/${ODIR}
- UTILS = ${TOP}/utils/${ODIR}
- VM = ${TOP}/vm/${ODIR}
- MEM = ${TOP}/mem/${ODIR}
- LIBC = ${TOP}/libc/${ODIR}
-
- # This is the list of objects excluding raid.
-
- INSTALLED_OBJS = \
- ${LIB}/mach.o \
- ${HOOK} \
- ${LIB}/dbg.o \
- ${LIB}/dev.o \
- ${LIB}/fs.o \
- ${LIB}/fsdm.o \
- ${LIB}/fscache.o \
- ${LIB}/fsconsist.o \
- ${LIB}/fsio.o \
- ${LIB}/fslcl.o \
- ${LIB}/fspdev.o \
- ${LIB}/fsprefix.o \
- ${LIB}/fsrecov.o \
- ${LIB}/fsrmt.o \
- ${LIB}/fsutil.o \
- ${LIB}/lfs.o \
- ${LIB}/libc.o \
- ${LIB}/main.o \
- ${LIB}/mem.o \
- ${LIB}/net.o \
- ${LIB}/ofs.o \
- ${LIB}/proc.o \
- ${LIB}/prof.o \
- ${LIB}/recov.o \
- ${LIB}/rpc.o \
- ${LIB}/sched.o \
- ${LIB}/sig.o \
- ${LIB}/sync.o \
- ${LIB}/sys.o \
- ${LIB}/timer.o \
- ${LIB}/utils.o \
- ${LIB}/vm.o
-
- UNINSTALLED_OBJS = \
- ${MACH}/mach.o \
- ${HOOK} \
- ${DBG}/dbg.o \
- ${DEV}/dev.o \
- ${FS}/fs.o \
- ${FSDM}/fsdm.o \
- ${FSCACHE}/fscache.o \
- ${FSCONSIST}/fsconsist.o \
- ${FSIO}/fsio.o \
- ${FSLCL}/fslcl.o \
- ${FSPDEV}/fspdev.o \
- ${FSPREFIX}/fsprefix.o \
- ${FSRMT}/fsrecov.o \
- ${FSRMT}/fsrmt.o \
- ${FSUTIL}/fsutil.o \
- ${LFS}/lfs.o \
- ${LIBC}/libc.o \
- ${MAIN}/main.o \
- ${MEM}/mem.o \
- ${NET}/net.o \
- ${OFS}/ofs.o \
- ${PROC}/proc.o \
- ${PROF}/prof.o \
- ${RECOV}/recov.o \
- ${RPC}/rpc.o \
- ${SCHED}/sched.o \
- ${SIG}/sig.o \
- ${SYNC}/sync.o \
- ${SYS}/sys.o \
- ${TIMER}/timer.o \
- ${UTILS}/utils.o \
- ${VM}/vm.o
-
- # Everybody uses the raid module now.
-
- OBJS = ${INSTALLED_OBJS} \
- ${LIB}/raid.o
-
- OBJS_SUN4 = ${OBJS}
-
-
- #
- # Profiled (perhaps) object files ####################################
- #
-
- PROFOBJS= ${LIB}/dbg.o ${PROFD}/fs.o ${LIB}/prof.o \
- ${PROFD}/dev.o ${PROFD}/net.o ${PROFD}/sig.o \
- ${PROFD}/main.o ${HOOK} \
- ${PROFD}/mem.o ${PROFD}/proc.o ${PROFD}/rpc.o \
- ${PROFD}/sched.o \
- ${PROFD}/timer.o ${PROFD}/sync.o ${PROFD}/utils.o \
- ${PROFD}/vm.o \
- ${PROFD}/sun.o ${PROFD}/sys.o ${PROFD}/libc
-
- ###############################################################################
-
- ALLSRCS= Makefile version.c
-
- HDRS = sprite.h
-
- DISTFILES ?= Save SnapshotSources doversion mainHook.c \
- porting_comments version.h.template
-
- default: ${RTM}
-
- dist:
- #if defined(DISTDIR) && !empty(DISTDIR)
- for i in $(ALLSRCS) $(HDRS) $(DISTFILES)
- do
- if $(TEST) -e $${i}; then
- $(UPDATE) $${i} $(DISTDIR)/$${i} ;else true; fi
- done
- #endif
-
- .BEGIN:
- doversion ${RELEASE} ${NEWVERSION} version.h.template
- SnapshotSources `awk '{print $5;}' version.h.template`
-
- #sun2: ${OBJS} Makefile .PRECIOUS .NOEXPORT
- # rm -f $@ version.o
- # rm -f mainHook.o
- # cc -c ${CFLAGS} mainHook.c
- # ${MKVERSION} -p "SPRITE VERSION 1.0 (Sun2)" > version.h
- # cc -c ${CFLAGS} version.c
- # ${LD} -X -o $@ -e start -T 804000 ${OBJS} version.o
- # @ls -l $@
- # @size $@
- # update -f -s $@ /sprite/boot/$@.sprite
- # rcp /sprite/boot/$@.sprite ${ENVY}:/bnf2/sprite/sun2.${KERNELNAME}
- # nm -n $@ > $@.nm
-
- sun3: ${OBJS} Makefile .PRECIOUS .NOEXPORT
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- -Save $@
- rm -f mainHook.o
- cc -c ${CFLAGS} mainHook.c
- cc -c ${CFLAGS} version.c
- ${LD} -X -msun3 -o $@ -e start -T e004000 ${OBJS} version.o
- @ls -l $@
- @size $@
- update -f -s sun3 /sprite/boot/sun3.md/${KERNELNAME}
- rcp /sprite/boot/sun3.md/${KERNELNAME} ${GINGER}:/tftpboot/sun3.md/${KERNELNAME}
- #rcp sun3 ginger:/home/ginger/sprite/kernels/sun3.sprite
- #rsh ginger -n "(cd /home/ginger/sprite/kernels ; ./Save sun3.sprite)"
- nm -n sun3 > sun3.nm
- -Save sun3
-
- sun4: ${OBJS_SUN4} Makefile .PRECIOUS .NOEXPORT
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- -Save $@
- rm -f mainHook.o
- cc -c ${CFLAGS} -Dsun4 mainHook.c
- cc -c ${CFLAGS} -Dsun4 version.c
- ${LD} -X -msun4 -o $@ -e start -T f6004020 ${OBJS_SUN4} version.o
- @ls -l $@
- @size $@
- update -f -s $@ /sprite/boot/sun4.md/${KERNELNAME}
- rcp /sprite/boot/sun4.md/${KERNELNAME} ${GINGER}:/tftpboot/sun4.md/${KERNELNAME}
- rcp $@ ginger:/home/ginger/sprite/kernels/$@.`Version $@`
- nm -n sun4 > sun4.nm
- update -f sun4 /allspiceA/${KERNELNAME}
- strip /allspiceA/${KERNELNAME}
- -Save sun4
-
- sun4c: ${OBJS} Makefile .PRECIOUS .NOEXPORT
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- -Save $@
- rm -f mainHook.o
- cc -c ${CFLAGS} -Dsun4 -Dsun4c mainHook.c
- cc -c ${CFLAGS} -Dsun4 -Dsun4c version.c
- ${LD} -X -msun4 -o $@ -e start -T f6004000 ${OBJS} version.o
- @ls -l $@
- @size $@
- update -f -s sun4c /sprite/boot/sun4c.md/${KERNELNAME}
- nm -n sun4c > sun4c.nm
- -Save sun4c
-
- ds3100: ${OBJS} .PRECIOUS .NOEXPORT
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- -Save $@
- rm -f mainHook.o
- cc -c ${CFLAGS} mainHook.c
- @cc -c ${CFLAGS} version.c
- ${LD} -N -o ds3100 -e start -T 80030000 ${OBJS} version.o
- @ls -l $@
- @size $@
- update -f ds3100 /sprite/boot/ds3100.md/${KERNELNAME}
- strip /sprite/boot/ds3100.md/${KERNELNAME}
- rm -f ds3100.nm
- nm -n ds3100 > ds3100.nm
- -Save ds3100
-
- ds5000: ${OBJS} .PRECIOUS .NOEXPORT
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- -Save $@
- rm -f mainHook.o
- cc -c ${CFLAGS} mainHook.c
- @cc -c ${CFLAGS} version.c
- ${LD} -N -o ds5000 -e start -T 80030000 ${OBJS} version.o
- @ls -l $@
- @size $@
- update -f ds5000 /sprite/boot/ds5000.md/${KERNELNAME}
- strip /sprite/boot/ds5000.md/${KERNELNAME}
- rcp $@ ginger:/home/ginger/sprite/kernels/$@.`Version $@`
- rm -f $@.nm
- nm -n $@ > $@.nm
- update -f $@ /lustA/${KERNELNAME}
- strip /lustA/${KERNELNAME}
- -Save $@
-
- # profile2: ${PROFOBJS} Makefile .PRECIOUS
- # sed 's/MACHINE/$@/g' version.h.template > version.h
- # cat version.h >> $@.versionLog
- # rm -f $@
- # rm -f mainHook.o
- # cc -c ${CFLAGS} mainHook.c
- # @cc -c ${CFLAGS} version.c
- # ${LD} -msun2 -X -o $@ -e start -T 804000 ${PROFOBJS} version.o
- # @ls -l $@
- # @size $@
- # update -f -s $@ /sprite/boot/$@.sprite
- # rcp /sprite/boot/$@.sprite ${ENVY}:/bnf2/sprite/sun2
- # nm -n $@ > $@.nm
-
- profile3: ${PROFOBJS} Makefile .PRECIOUS
- sed 's/MACHINE/$@/g' version.h.template > version.h
- cat version.h >> $@.versionLog
- rm -f $@
- rm -f mainHook.o
- cc -c ${CFLAGS} mainHook.c
- @cc -c ${CFLAGS} version.c
- ${LD} -msun3 -X -o $@ -e start -T e004000 ${PROFOBJS} version.o
- @ls -l $@
- @size $@
- update -f -s $@ /sprite/boot/sun3.md/prof
- rcp /sprite/boot/sun3.md/prof ${GINGER}:/tftpboot/tmp/$@
- nm -n $@ > $@.nm
-
- nm: ${OBJS}
- ./NM ${NM} ${OBJS}
-
- clean:
- rm *.o sun2 sun3
-
- # install: installhdrs /bnf/sprite/sprite
-
- # installhdrs:
- # @${UPDATE} ${HDRS} ${H}
- # @${UPDATE} ${HDRS} ${INSTALLED}
-
- .c.o:
- rm -f $*.o
- ${CC} ${CFLAGS} -c $*.c
-
-
-
- mainHook.o: ${H}/proc.h ${H}/fs.h
- # DO NOT DELETE THIS LINE -- make depend depends on it.
-